package com.kuzan.autocloud.common;

/**
 * <p>Description: SelectItems 系统通用枚举 </p>
 *
 * @author kuzank 2019/11/30
 */
public class SelectItems {

    /**
     * 是否
     */
    public enum Whether {
        pid("whether"),

        Yes("yes"),
        No("no");

        private final String name;

        Whether(String name) {
            this.name = name;
        }

        public static Whether of(boolean whether) {
            return whether ? Yes : No;
        }

        public static String YES() {
            return Yes.getName();
        }

        public static String NO() {
            return No.getName();
        }

        public static boolean IsTrue(String obj) {
            return YES().equals(obj);
        }

        public String value() {
            return name;
        }

        public String getName() {
            return name;
        }
    }

    /**
     * 性别
     */
    public enum Gender {
        pid("gender"),

        Man("man"),
        Woman("woman");

        private final String name;

        Gender(String name) {
            this.name = name;
        }

        public String value() {
            return name;
        }

        public String getName() {
            return name;
        }
    }


    public enum SystemGrup {

        pid("systemGrup"),

        System("sg_system"),
        Form("sg_form"),
        Report("sg_report"),
        Workflow("sg_workflow"),
        User("sg_user"),
        Test("sg_test");

        private String name;

        SystemGrup(String name) {
            this.name = name;
        }

        public String value() {
            return name;
        }

        public String getName() {
            return name;
        }
    }


    /**
     * 文本(默认单行文本)
     * 手机|电话|邮件|身份证|颜色
     * 可设置前缀、后缀
     * 数字(默认整数)
     * 整数|浮点数|人民币|年龄|评分|滑动输入条
     * 可设置前缀、单位、最大最小值
     * 枚举(默认下拉)
     * 下拉|radio|按钮
     * 关联选择(不设表现形式，默认下拉)
     * 富文本(默认多行文本)
     * HTML编辑器|代码编辑器|MD
     * 附件(默认不限)
     * office|excel|图片|压缩包
     * 时间(默认日期)
     * 日期时间|时间|年|年月|时间开始|时间结束
     */
    public enum FormFieldType {
        pid("formFieldType"),

        // 文本
        string("fft_string"),
        phone("fft_phone"),
        email("fft_email"),
        idcard("fft_idcard"),
        color("fft_color"),
        divider("fft_divider"),

        // 数字
        intt("fft_int"),
        floatt("fft_float"),
        rate("fft_rate"),
        slider("fft_slider"),
        progress("fft_progress"),

        // 枚举
        selectitem("fft_selectitem"),
        button("fft_button"),
        radio("fft_radio"),

        // 关联选择项
        related("fft_related"),

        // 多行文本
        textarea("fft_textarea"),
        ckeditor("fft_ckeditor"),
        codeeditor("fft_codeeditor"),
        md("fft_md"),

        // 时间
        date("fft_date"),
        time("fft_time"),
        datetime("fft_datetime"),
        daterange("fft_daterange"),
        year("fft_year"),
        month("fft_month"),

        // 附件
        adjunct("fft_adjunct"),
        word("fft_word"),
        excel("fft_excel"),
        picture("fft_picture");

        private String name;

        FormFieldType(String name) {
            this.name = name;
        }

        public String value() {
            return name;
        }

        public String getName() {
            return name;
        }
    }


}
